<?php

namespace App\Models\Admin;

use App\Models\BaseModel;

class AdminUsers extends BaseModel
{
    /**
     * 与模型关联的数据表。
     *
     * @var string
     */
    protected $table = 'admin_users';

    /**
     * 可以被批量赋值的属性。
     *
     * @var array
     */
    protected $fillable = array(
        'dept_id',
        'supervisor_id',
        'user_name',
        'nick_name',
        'user_type',
        'email',
        'phonenumber',
        'sex',
        'avatar',
        'password',
        'status',
        'del_flag',
        'agent_name',
        'login_ip',
        'login_date',
        'login_fail_num',
        'update_time',
        'remark',
        'create_by',
        'create_time',
        'update_by',
        'agent_id',
        'agent_name',
        'agent_str',
        'passsalt',
        'role_id',
        'position_id',
        'supplier',
        'shop_id',
        'exp_password',
        'qywx_userid'
    );
    public $timestamps = false;

    public function aliasRable($alias)
    {
        return $this->setTable($alias);
    }

    /**
     * 查询数据需要过滤掉的属性。
     *
     * @var array
     */

    protected $hidden = array(
        'updated_at'
    );

    //返回关键字段
    public function getTableField()
    {
        return $this->fillable;
    }

    /**
     * 建表语句
     */
    protected function buildTable($name = '')
    {

        return '';
    }

    /**
     * 插入新的字段
     */
    protected function bulidField()
    {
        return [];
    }

    //密码生成
    public function passwd($passwd)
    {
        $nums = mt_rand(10000000, 99999999);
        return [
            'passwd' => md5(md5($passwd) . $nums),
            'salt' => $nums
        ];
    }

    // 导出密码
    public function expPasswd($passwd, $numd)
    {
        if (empty($numd)) {
            $nums = mt_rand(10000000, 99999999);
        }
        return [
            'passwd' => md5(md5($passwd) . $nums),
            'salt' => $nums
        ];
    }

    //密码验证
    public function verifyPasswd($passwd, $numd)
    {
        return md5(md5($passwd) . $numd);
    }

    // 关联 role表
    public function userToRole($role)
    {
        // return $this->hasMany(Role::className(),);
    }
}
